home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / userbox / publicdomain / addsearchguide / addsearchguide.rexx < prev   
OS/2 REXX Batch file  |  1996-04-30  |  2KB  |  78 lines

  1. /*
  2. $VER: AddSearchGuide.rexx 1.0 (30.4.96)
  3. by Remco van Hooff (rvhooff@globalxs.nl)
  4.  
  5. Idea and suggestions by Neil Bothwick (neil@wirenet.u-net.com)
  6. */
  7.  
  8. PARSE ARG input
  9.  
  10. IF (input = '' | input = '?') THEN DO
  11.   SAY 'FILE/K,REQ/S'
  12.   EXIT
  13. END
  14. IF UPPER(input) = 'REQ' then req = 1 /* use rexxreqtools requester */
  15. ELSE req = 0
  16.  
  17. IF req = 1 THEN DO
  18.   IF ~SHOW('L','rexxreqtools.library') THEN CALL ADDLIB('rexxreqtools.library',0,-30,0)
  19.   IF ~SHOW('L','rexxreqtools.library') THEN SAY 'Couldn''t open rexxreqtools.library'
  20.   CALL RTFILEREQUEST(,,'Select AmigaGuide files',,'rtfi_matchpat=#?.guide rtfi_flags = freqf_patgad|freqf_multiselect',inlist)
  21.   IF inlist = 0 THEN EXIT
  22. END
  23.  
  24. IF ~SHOW('L','rexxsupport.library') THEN CALL ADDLIB('rexxsupport.library',0,-30,0)
  25. IF ~SHOW('L','rexxsupport.library') THEN SAY 'Couldn''t open rexxsupport.library'
  26.  
  27. IF req = 0 THEN DO
  28.   IF ~EXISTS(input) THEN DO
  29.     SAY 'Input file not found!'
  30.     EXIT
  31.   END
  32. inlist.1 = input
  33. inlist.count = 1
  34. output = inlist.1'.tmp'
  35. END
  36.  
  37. DO i = 1 to inlist.count
  38.   SAY 'Working on: "'inlist.i'"'
  39.   output = inlist.i'.tmp'
  40.   CALL OPEN(in,inlist.i,'r')
  41.     line = READLN(in)
  42.     IF POS('DATABASE', UPPER(line)) = 0 THEN DO
  43.       SAY 'This isn''t an AmigaGuide document.'
  44.       CALL CLOSE(in)
  45.       ITERATE i
  46.     END
  47.     CALL OPEN(out,output,'w')
  48.     DO UNTIL (POS('@NODE', UPPER(line)) ~= 0 & POS('MAIN', UPPER(line)) ~= 0)
  49.       WRITELN(out, line)
  50.       line = READLN(in)
  51.     END
  52.     WRITELN(out, line)
  53.     line = READLN(in)
  54.     IF POS('SearchGuide', line) = 0 THEN DO
  55.       WRITELN(out, '@{" Search " SYSTEM "RUN SearchGuide 'input'"}')
  56.       WRITELN(out, line)
  57.       DO UNTIL EOF(in)
  58.         rest = readch(in, 1048576) /* 1MB should be enough :.) */
  59.         WRITECH(out, rest)
  60.       END
  61.     END
  62.     ELSE DO
  63.       SAY 'Skipping, search button already added.'
  64.       CALL CLOSE(out)
  65.       CALL CLOSE(in)
  66.       DELETE(inlist.i'.tmp')
  67.       ITERATE i
  68.     END
  69.   CALL CLOSE(out)
  70.   CALL CLOSE(in)
  71.   DELETE(inlist.i)
  72.   RENAME(inlist.i'.tmp',inlist.i)
  73. END
  74.  
  75. SAY 'Done.'
  76.  
  77. EXIT
  78.